home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / text / print / psutils.lha / psutils / maketext.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1999-08-29  |  932 b   |  43 lines

  1. /* maketext: rexx filter to substitute names in [scripts and] man pages. */
  2. /* © by Stefan Haubenthal 1999 */
  3.  
  4. atsign.PAPER="a4"
  5. address command "echo `dir #?.man` >pipe:"
  6. call open(P,"pipe:")
  7. ln=readln(P)
  8. /* .man -> (1), */
  9. do i=1 to words(ln)-1
  10.     ln=overlay("(1),",ln,wordindex(ln,i+1)-5)
  11. end
  12. atsign.MAN=strip(overlay("(1) ",ln,length(ln)-3))
  13. atsign.INCLUDE='.'
  14. call open(H,"patchlev.h")
  15. do while ~eof(H)
  16.     change=readln(H)
  17.     parse var change "#define" a b
  18.     if a>"" then interpret(atsign.a"=" b)
  19. end
  20. call close(H)
  21.  
  22. do i=1 to words(arg(1))
  23.     argv=word(arg(1),i)
  24.     say argv":"
  25.     call open(H,argv)
  26.     parse var argv name"."ext
  27.     call open(FILE,"T:"name".1",W)
  28.     do forever
  29.         change=readln(H)
  30.         if eof(H) then leave
  31.         do until ~datatype(key,U)
  32.             parse var change head"@"key"@"tail
  33.             if datatype(key,U) then do
  34.                 change=head||atsign.key||tail
  35.                 say "    "key
  36.             end
  37.         end
  38.         call writeln(FILE,change)
  39.     end
  40.     call close(FILE)
  41.     call close(H)
  42. end
  43.